--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / PromptDialog.vue
Displaying Raw • Download
meshchatx/src/frontend/components/PromptDialog.vue 59c3a0c47e87e8db699d25b757bb7b599215ddbd (59c3a0c4) Text, 5.31 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72Transition Te6edf3nameTff7b72=Ta5d6ff"prompt-dialog"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3pendingPromptTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"fixed inset-0 z-9999 flex items-center justify-center p-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"fixed inset-0 bg-black/50 backdrop-blur-xs shadow-2xl" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3cancelTa5d6ff"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"relative w-full sm:w-auto sm:min-w-[400px] sm:max-w-md bg-white dark:bg-zinc-900 sm:rounded-3xl rounded-3xl shadow-2xl border border-gray-200 dark:border-zinc-800 overflow-hidden transform transition-all"
@Te6edf3click.Te6edf3stop
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"p-8"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-start mb-6"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"shrink-0 flex items-center justify-center w-12 h-12 rounded-2xl bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 mr-4"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"form-textbox" Te6edf3classTff7b72=Ta5d6ff"w-6 h-6" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72h3 Te6edf3classTff7b72=Ta5d6ff"text-xl font-black text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.prompt_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-300 whitespace-pre-wrap leading-relaxed"Tb4b4b4>
Tff7b72{{ Te6edf3pendingPromptTb4b4b4.Te6edf3message Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3refTff7b72=Ta5d6ff"promptInput"
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3inputValueTa5d6ff"
Tb4b4b4:Te6edf3typeTff7b72=Ta5d6ff"Te6edf3inputTypeTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full px-4 py-3 rounded-xl border border-gray-200 dark:border-zinc-700 bg-gray-50 dark:bg-zinc-800 text-gray-900 dark:text-zinc-100 text-sm focus:outline-hidden focus:ring-2 focus:ring-blue-500/30 focus:border-blue-500"
Te6edf3autocompleteTff7b72=Ta5d6ff"off"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Te6edf3confirmTa5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3escTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Te6edf3cancelTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-3 sm:justify-end mt-8"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-3 text-sm font-bold text-gray-700 dark:text-zinc-300 bg-gray-100 dark:bg-zinc-800 rounded-xl hover:bg-gray-200 dark:hover:bg-zinc-700 transition-all active:scale-95"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3cancelTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.cancel"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-3 text-sm font-bold text-white bg-blue-600 hover:bg-blue-700 rounded-xl shadow-lg shadow-blue-600/20 transition-all active:scale-95"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3confirmTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.ok"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72TransitionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3GlobalEmitter Tff7b72from Ta5d6ff"../js/GlobalEmitter"Tb4b4b4;
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"./MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"PromptDialog"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3MaterialDesignIconTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3pendingPromptTff7b72: Tff7b72nullTb4b4b4,
Te6edf3resolvePromiseTff7b72: Tff7b72nullTb4b4b4,
Te6edf3inputValueTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3inputTypeTff7b72: Ta5d6ff"text"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3onTb4b4b4(Ta5d6ff"prompt"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3showTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3offTb4b4b4(Ta5d6ff"prompt"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3showTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3showTb4b4b4(Tb4b4b4{ Te6edf3messageTb4b4b4, Te6edf3defaultValueTb4b4b4, Te6edf3resolveTb4b4b4, Te6edf3inputType Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Tff7b72thisTb4b4b4.Te6edf3resolvePromise Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3resolvePromiseTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3pendingPrompt Tff7b72= Tb4b4b4{ Te6edf3message Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3inputValue Tff7b72= Te6edf3defaultValue Tff7b72== Tff7b72null Tff7b72? Ta5d6ff"" Tff7b72: Tffa657StringTb4b4b4(Te6edf3defaultValueTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3inputType Tff7b72= Te6edf3inputType Tff7b72=== Ta5d6ff"password" Tff7b72? Ta5d6ff"password" Tff7b72: Ta5d6ff"text"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3resolvePromise Tff7b72= Te6edf3resolveTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3input Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3promptInputTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3input Tff7b72&& Tff7b72typeof Te6edf3inputTb4b4b4.Te6edf3focus Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Te6edf3inputTb4b4b4.Te6edf3focusTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3inputTb4b4b4.Te6edf3selectTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3confirmTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3resolvePromiseTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3resolvePromiseTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3inputValueTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3resolvePromise Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3pendingPrompt Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3inputValue Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3inputType Tff7b72= Ta5d6ff"text"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3cancelTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3resolvePromiseTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3resolvePromiseTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3resolvePromise Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3pendingPrompt Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3inputValue Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3inputType Tff7b72= Ta5d6ff"text"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72style Te6edf3scopedTb4b4b4>
Tb4b4b4.T56d364prompt-dialog-enter-activeTff7b72,
Tb4b4b4.T56d364prompt-dialog-leave-active Tb4b4b4{
Tff7b72transitionTb4b4b4: Tff7b72all T79c0ff0.2Tffa657s Tff7b72easeTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364prompt-dialog-enter-fromTff7b72,
Tb4b4b4.T56d364prompt-dialog-leave-to Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364prompt-dialog-enter-from Tb4b4b4.T56d364relativeTff7b72,
Tb4b4b4.T56d364prompt-dialog-leave-to Tb4b4b4.T56d364relative Tb4b4b4{
Tff7b72transformTb4b4b4: Tffa657scaleTb4b4b4(T79c0ff0.95Tb4b4b4)Tb4b4b4;
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────